這篇是資料庫介紹第二篇,然後這篇主要介紹Android提供資料庫API下的類別,其中要介紹的是SQLiteDataBase類別,類別中提供了許多方法幫助開發者利用Android系統和資料庫作互動,以下將介紹各方法的應用:
SQLiteDataBase類別提供方法以便開發者管理資料庫。
使用方法:
將方法的參數加入完整的SQL指令,可以處理資料庫的CREATE、INSERT、UPDATE、DELETE等操縱。
(p.s.沒有查詢的動作)
例如:
// openOrCreateDataBase是Activity類別的方法
// openOrCreateDataBase(創建資料庫檔案名稱,給予權限,null)
SQLiteDataBase db=openOrCreateDataBase("db.db",MODE_PRIVATE,null);
String txt = INSERT INTO table (id,name) values(1,"小明");
db.execSQL(txt);
使用方法:
將方法的參數加入完整的SQL指令,可以查詢資料庫的資料。
例如:
// openOrCreateDataBase是Activity類別的方法
// openOrCreateDataBase(創建資料庫檔案名稱,給予權限,null)
SQLiteDataBase db=openOrCreateDataBase("db.db",MODE_PRIVATE,null);
// '*'即為查詢所有欄位
String txt =SELECT * FROM table;
// rawQuery回傳資料為Cursor型別
Cursor cursor=db.rawQuery(txt,null);
使用方法:
以參數式的方法輸入SQL語法,不需要輸入完整的SQL語法即可查詢資料庫的資料。
例如:
// openOrCreateDataBase是Activity類別的方法
// openOrCreateDataBase(創建資料庫檔案名稱,給予權限,null)
SQLiteDataBase db=openOrCreateDataBase("db.db",MODE_PRIVATE,null);
// query回傳資料為Cursor型別
Cursor cursor=db.query("table",new String[]{"name"},"id=1",null,null,null,null,null,null);
使用方法:
透過ContentValues類別將資料打包,再透過SQLiteDataBase類別的方法insert新增資料。
例如:
// openOrCreateDataBase是Activity類別的方法
// openOrCreateDataBase(創建資料庫檔案名稱,給予權限,null)
SQLiteDataBase db=openOrCreateDataBase("db.db",MODE_PRIVATE,null);
// 建立ContentValues物件
ContentValues contentvalues=new ContentValues();
contentvalues.put("name","小名");
db.insert("table",null,contentvalues);
使用方法:
透過ContentValues類別將資料打包,再透過SQLiteDataBase類別的方法update更新資料。
例如:
// openOrCreateDataBase是Activity類別的方法
// openOrCreateDataBase(創建資料庫檔案名稱,給予權限,null)
SQLiteDataBase db=openOrCreateDataBase("db.db",MODE_PRIVATE,null);
// 建立ContentValues物件
ContentValues contentvalues=new ContentValues();
contentvalues.put("name","小名");
// id=1代表更新id=1那一列的資料
db.update("table",contentvalues,id=1,null);
使用方法:
指定要刪除哪一列的資料,再透過SQLiteDataBase類別的方法delete刪除資料。
例如:
// openOrCreateDataBase是Activity類別的方法
// openOrCreateDataBase(創建資料庫檔案名稱,給予權限,null)
SQLiteDataBase db=openOrCreateDataBase("db.db",MODE_PRIVATE,null);
// id=1代表刪除id=1那一列的資料(id為辨識不同列的差別)
db.delete("table",id=1,null);
SQLiteDataBase類別完整的使用方法參見
這篇文章為介紹類別的方法,若文章有誤,歡迎分享
Thank you for your time!
下回待續